package com.github.kezhenxu94.playground.java.interview;

import java.util.Scanner;

/**
 * 题目描述：
 * 
 * 我们规定对一个字符串的shift操作如下：
 * 
 * shift(“ABCD”, 0) = “ABCD” shift(“ABCD”, 1) = “BCDA” shift(“ABCD”, 2) = “CDAB”
 * 换言之, 我们把最左侧的N个字符剪切下来, 按序附加到了右侧。 给定一个长度为n的字符串，我们规定最多可以进行n次向左的循环shift操作。
 * 
 * 如果shift(string, x) = string (0 <= x < n), 我们称其为一次匹配(match)。求在shift过程中出现匹配的次数。
 * 
 * @author KeZhenxu
 *
 */
public class TouTiaoStringShifting {

	public static void main(String[] args) {
		try (Scanner sc = new Scanner(System.in)) {
			String line = sc.nextLine();
			int count = 0;
			boolean flag = true;
			int idx = 0;
			for (int i = 0; i < line.length(); i += idx) {
				flag = true;
				for (int j = 0; j >= 0 && j < line.length(); j++) {
					if (line.charAt((j + line.length() - i) % line.length()) != line.charAt(j)) {
						flag = false;
						break;
					}
				}
				if (flag)
					count++;
				idx = line.indexOf(line.charAt(0), idx + 1);
				if (idx < 0)
					break;
			}
			System.out.println(count);
		}
	}
}
